ELEMENTS

Editing
  • account_tree
  • bug_report

<a>

href 애트리뷰트 명시 유무에 따라 역할이 다르다. href 애트리뷰트가 명시되면 하이퍼링크(hyperlink)로 작동하는 콘텐츠의 일부가 되지만 그렇지 않다면 하이퍼링크(hyperlink)의 목적지가 되는 자리 표시자 역할을 한다.

  • 콘텐츠 분류

    FLOW CONTENT, INTERACTIVE CONTENT, PALPABLE CONTENT, PHRASING CONTENT

    href 애트리뷰트가 명시되면 인터랙티브 콘텐츠(interactive content)가 된다.

  • 허용된 부모 요소 또는 위치

    PHRASING CONTENT

    구문 콘텐츠(phrasing content)가 예상되는 위치

  • 콘텐츠 모델

    TRANSPARENT CONTENT

    투명하지만 하위에 다른 인터랙티브 콘텐츠(interactive content), tabindex 애트리뷰트가 명시된 요소가 없어야 한다.

  • 태그 생략

    시작 태그, 종료 태그 모두 작성

  • DOM Interface

    HTMLAnchorElement

    [Exposed=Window]
    interface HTMLAnchorElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute DOMString target;
      [CEReactions] attribute DOMString download;
      [CEReactions] attribute USVString ping;
      [CEReactions] attribute DOMString rel;
      [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
      [CEReactions] attribute DOMString hreflang;
      [CEReactions] attribute DOMString type;
    
      [CEReactions] attribute DOMString text;
    
      [CEReactions] attribute DOMString referrerPolicy;
    
      // also has obsolete members
    };
    HTMLAnchorElement includes HTMLHyperlinkElementUtils;

구문

마크업 형식
<a href="example.html">example</a>
Example
마크업 형식
<a name="destination"></a>

다른 하이퍼링크(hyperlink)의 목적지가 된다. 즉 다음과 같이 연결이 가능하다.

<a href="#destination">Go</a>
Example

<iframe>에서 srcdoc 애트리뷰트로 콘텐츠가 설정된 경우에 해당 콘텐츠 내에서 URL 플래그먼트(flagment)로 링크(흔히 해쉬 링크)가 지정되어야 하는 경우에는 다음과 같이 설정을 해야 한다.

<a href="about:srcdoc#id_or_anchorName">Hash Link</a>

애트리뷰트

href non-empty URL선택

유효한 URL을 설정한다. 설정된 URL은 요소에 따라 용도가 정해진다. 리소스를 가져오거나 하이퍼링크를 위한 목적지로 사용될 수 있다. 또한 참조되는 값으로 사용될 수 있다.

About Non-empty URL

비워있지 않은 유효한 URL을 나타내는 문자열을 나타낸다.

target navigable target names or keywords선택

하이퍼링크 또는 기타 연결을 설정하는 경우 연결된 리소스를 여는 방식을 지정한다.

기본값

_self
자신의 창(프레임)에서 연결될 리소스를 연다.

사용되는 키워드

_blank

새로 생성한 창(또는 탭)에 보여준다.

_parent

현재 페이지가 프레임 안에 존재하는 경우 부모 프레임(창)에서 보여준다.

_self

현재 창에서 보여준다.

_top

현재 문서가 프레임 안에 존재하는 경우를 포함하여 다수의 프레임이 연관되어 있다면 최상위 프레임(창)에서 보여준다.

download boolean attributes선택
연결되는 리소스가 다운로드되는 것으로 명시한다.
<a href="file.zip" download>Download</a>
연결되는 리소스를 다운로드후 저장할 때 권장 파일 이름을 지정한다. 허용되는 값에 대한 제한은 없지만 파일 시스템에서 지원되는 파일 확장자에 제한이 있을 수 있으며 유저 에이전트가 개입되어 값이 조정될 수도 있다.
<a href="file.zip" download="safe_file.zip">Download</a>
About Boolean attributes

불리언(boolean) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true)이다.

<input disabled>, <input disabled="disabled">, <input disabled="">

ping space-separated tokensnon-empty URL선택

사용자가 하이퍼링크를 따라가는 경우 알림을 받고자 하는 리소스의 URL을 제공한다. 값은 공백으로 구분된 토큰(token) 집합이어야 하며 각 토큰(token)은 유효한 URL이어야 한다. 이 값은 하이퍼링크 감사를 위해 유저 에이전트가 사용한다.

About Non-empty URL

비워있지 않은 유효한 URL을 나타내는 문자열을 나타낸다.

rel unordered set of unique space-separated tokens

리소스를 연결하는 경우 관계를 정의한다. 연결 유형은 지정된 값을 공백으로 구분한 리스트로 작성해야 한다. 그러나 특별히 명시된 경우를 제외하고는 두 번 이상 지정할 수 없다.

About Unordered set of unique space-separated tokens

순서가 없는 공백으로 구분된 고유한 토큰 세트를 나타낸다.

사용되는 키워드

alternte

사용되는 요소가 <link>이고 stylesheet 키워드가 설정된 경우라면 추가적으로 alternate 키워드를 지정하는 경우 대체 스타일 시트로 연결된다. 이 경우 빈 문자열 값을 허용하지 않으며 유효한 값을 가진 title 애트리뷰트가 반드시 존재해야 한다.

일반적으로 외부의 CSS 파일을 연결할 때 <link> 요소를 사용하므로 주로 위와 같은 경우처럼 alternate가 사용된다.

<a>, <area>, <link> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

author

작성자에 대한 정보 및 작성자와 연락 가능한 연락처 정보가 담긴 페이지로 연결되는 하이퍼링크로 정의한다.

<a>, <area>, <link> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

bookmark

가장 가까운 조상 <article> 요소에 대해 퍼머링크(permalink)를 제공하는 하이퍼링크로 정의한다. 만약에 <article> 요소가 없다면 <link> 요소와 가장 가까운 관계를 가지고 있는 섹션(section)에 대한 퍼머링크(permalink)로 인식된다.

<a>, <area>요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

canonical

현재 문서의 기본 URL을 지정한다.

<link> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

dns-prefetch

유저 에이전트(user agent)가 대상 리소스의 출처에 대한 DNS 확인을 선제적으로 수행하도록 지정한다.

<link> 요소에서 외부 리소스(external resource)로 사용이 가능하다.

external

연결될 문서가 현재 웹사이트 외부의 리소스임을 알린다.

<a>, <area>, <form> 요소에서 하이퍼링크(hyperlink) 어노테이션(annotation)으로 사용된다.

help

상황에 맞는 도움말에 대한 링크를 제공한다.

만약 <a> 요소이거나 <area> 요소이면 help는 하이퍼링크가 부모와 자손 요소에 대한 추가 도움말을 제공하는 리소스임을 나타낸다.

<link> 요소라면 help는 하이퍼링크가 페이지 전체에 대한 추가 도움말을 제공하는 리소스임을 나타낸다.

<a>, <area>, <link> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

icon

현재 문서를 나타내는 아이콘을 가져오는 것으로 처리한다. 때때로 icon 앞에 shortcut 유형을 작성하는 경우가 있는데 이는 비표준이며 웹브라우저가 무시하므로 사용하지 않아야 한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

참고로 애플(Apple)의 iOS는 icon 유형을 사용하지 않을 수 있다. 더 자세한 사항은 iOS의 사파리(safari) 웹브라우저의 최신 기술 명세를 확인하라.
license

현재 문서의 주요 콘텐츠가 하이퍼링크(hyperlink)로 참조된 문서에 설명된 저작권 라이선스의 적용을 받는다는 것을 나타낸다.

<a>, <area>, <link>, <form> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

manifest

애플리케이션의 매니페스트(manifest)를 가져오거나 연결한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

mask-icon

단색의 투명한 배경을 갖는 SVG 아이콘을 나타낸다. color 애트리뷰트와 함께 사용될 수 있다. W3C 명세에는 반드시 지원하지 않아도 되는 것으로 정했다. 따라서 모든 최신 유저 에이전트가 지원한다고 보기 어렵다.

사파리(safari) 웹브라우저에서 지원한다.
modulepreload

유저 에이전트(user agent)가 모듈 스크립트(moduel script)를 선제적으로 가져와 나중에 평가할 수 있도록 문서의 모듈 맵(moduel map)에 저장하도록 지정한다. 선택적으로 모듈의 종속성도 가져올 수 있다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

next

현재 문서가 구조화된 문서의 일부이며 하이퍼링크(hyperlink)로 연결될 문서가 다음 순서에 해당하는 것을 의미한다.

<a>, <area>, <link>, <form> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

nofollow

현재 문서의 게시자(또는 원저자)가 연결될 문서를 보증하지 않음을 나타낸다.

<a>, <area>, <form> 요소에서 하이퍼링크(hyperlink) 어노테이션(annotation)으로 사용된다.

noopener

하이퍼링크(hyperlink)가 현재 문서와 컨텍스트(context)가 단절되어 열린다. 즉 하이퍼링크(hyperlink)로 열린 문서에서 window.opener 속성 값은 null을 갖는다. 신뢰할 수 없는 문서를 연결할 때 유용하다. target 애트리뷰트는 기본적으로 _blank로 적용된다.

<a>, <area>, <form> 요소에서 하이퍼링크(hyperlink) 어노테이션(annotation)으로 사용된다.

noreferrer

하이퍼링크(hyperlink) 연결을 정의한 현재 문서를 하이퍼링크(hyperlink)로 열릴 문서에서 참조하도록 헤더(header)에 포함시키지 않는다. 즉 문서를 열게한 문서와 단절된다는 측면에서 noopener와 동일한 작용을 한다고 할 수 있다.

<a>, <area>, <form> 요소에서 하이퍼링크(hyperlink) 어노테이션(annotation)으로 사용된다.

opener

하이퍼링크(hyperlink)로 열릴 문서는 현재 문서의 탐색 컨텍스트(context)를 포함한다. 즉 noopener와 반대 작용을 한다고 볼 수 있다.

<a>, <area>, <form> 요소에서 하이퍼링크(hyperlink) 어노테이션(annotation)으로 사용된다.

pingback

현재 문서에 대한 핑백(pingback)을 처리하는 핑백(pingback) 서버의 주소를 지정한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

preconnect

유저 에이전트가 대상 리소스의 오리진(origin)에 선제적으로 연결하도록 지정한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

prefetch

후속 탐색이 가능하도록 유저 에이전트가 대상 리소스를 선제적으로 가져와 캐시(cache)하도록 지정한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

preload

유저 에이전트가 as 애트리뷰트에 지정된 잠재적 목적지와 연결 우선 순위에 따라 현재 탐색을 위해 대상 리소스를 선제적으로 가져와 캐시(cache)하도록 지정한다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

prev

현재 문서가 구조화된 문서의 일부이며 하이퍼링크(hyperlink)로 연결될 문서가 이전 순서에 해당하는 것을 의미한다.

<a>, <area>, <link>, <form> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

search

현재 문서 및 관련 페이지를 검색하는 데 사용할 수 있는 리소스에 대한 링크를 나타낸다.

<a>, <area>, <link>, <form> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

stylesheet

현재 문서에 스타일시트 문서를 리소스로 가져온다.

<link> 요소만 외부 리소스(external resource)로 사용이 가능하다.

tag

하이퍼링크가 현재 문서에 적용되는 태그를 설명하는 문서임을 나타낸다.

<a>, <area> 요소에서 하이퍼링크(hyperlink)로 사용이 가능하다.

hreflang BCP47

연결할 대상 리소스의 사용 언어를 나타낸다. 가능한 값은 BCP47에 따른다. 권고 사항으로 어떤 경우이든 반드시 강제하지 않는다. 리소스를 가져올 때 리소스 링크에 포함된 메타데이터가 아니라 리소스와 관련된 언어 정보만 사용하여 언어를 결정해야 한다.

About BCP47

국제인터넷표준화기구(IETF)에서 콘텐츠에 사용되는 (사람이 사용하는)언어를 태그로 정의한 BCP 47 기술 사양을 나타낸다. HTTP, HTML, XML, PNG 등과 같은 대부분의 기술 표준에서 채택되어 사용한다.

type MIME type string

가장 많이 사용되는 대표적인 text/html, text/css, text/javascript가 있고 그외의 유형은 Media Types를 참고하라.

About MIME type string

미디어 유형 토큰(token) 생성과 일치하는 문자열이다. 매개변수가 포함될 수 있다. 매개변수가 없는 유효한 MIME 형식 문자열은 U+003B(;)을 포함하지 않은 MIME 형식 문자열이다.

사용되는 키워드

text/css

*.css와 같이 스타일시트(stylesheet) 파일을 나타내는 MIME 유형이다.

text/html

*.html, *.htm 파일을 나타내는 MIME 유형이다.

text/javascript

*.js 파일을 나타내는 MIME 유형이다.

referrerpolicy enumerated attribute

리소스를 가져올 때 사용할 리퍼러(referrer)를 나타낸다.

About Enumerated attribute

제한된 값 집합으로 구성된 데이터를 나타낸다. 값 설정을 위한 다양한 방식이 존재할 수 있다.

사용되는 키워드

no-referrer

리퍼러(referrer) 헤더(header)가 전송되지 않는다.

no-referrer-when-downgrade

요청의 리퍼러(referrer)로 사용할 수 있도록 요청의 전체 referrerURL을 제거하여 보낸다. TLS(HTTPS)를 사용하지 않고 오리진(origin)으로 요청할 때 리퍼러(referrer) 헤더(header)를 보내지 않음을 의미한다. 명시적으로 지정한 정책이 없다면 기본값으로 처리된다.

origin

same-origin-referrer 요청 및 cross-origin-referrer 요청을 모두 수행할 때 요청의 referrerURL의 ASCII 직렬화만 리퍼러(referrer) 정보로 전송되도록 한다.

origin-when-cross-origin

same-origin-referrer 요청을 할 때 요청의 전체 referrerURL이 리퍼러(referrer) 정보로 전송되고 cross-origin-referrer 요청의 경우는 요청의 referrerURL 원본의 ASCII 직렬화만 리퍼러(referrer) 정보로 전송되도록 한다.

same-origin

same-origin-referrer 요청을 할 때 요청의 전체 referrerURL이 리퍼러(referrer) 정보로 전송되도록 한다. 반면에 cross-origin-referrer 요청에는 전송되지 않는다.

strict-origin

요청에 대한 referrerURL 원본의 ASCII 직렬화를 전송한다.

strict-origin-when-cross-origin

same-origin-referrer 요청을 할 때 요청의 전체 referrerURL이 리퍼러(referrer) 정보로 전송되고 cross-origin-referrer 요청시에는 요청의 referrerURL 원본의 ASCII 직렬화만 전송되도로 한다.

unsafe-url

요청의 전체 referrerURLsame-origin-referrer 요청과 cross-origin-referrer 요청 모두에게 전송되도록 한다.

글로벌 애트리뷰트

일부 글로벌 애트리뷰트는 이 요소에서 사용되지 않을 수 있다.

글로벌 이벤트 핸들러

일부 글로벌 이벤트 핸들러는 이 요소에서 사용되지 않을 수 있다. 이벤트 등록은 자바스크립트 사용을 권장한다.

버전 명세

HTML Standard
#the-a-element

지원 웹브라우저